package com.tang.framework.delay;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

/**
 * @author tang jun liang
 * @Date 2023/2/10 13:39
 */
@Target(value = ElementType.METHOD)
@Retention(value = RetentionPolicy.RUNTIME)
public @interface DelayQueue {

    /**
     * 队列名称
     *
     * @return
     */
    String name() default "";

    /**
     * 重试次数
     *
     * @return
     */
    int retry() default 3;

    /**
     * 重试间隔时间
     *
     * @return
     */
    int retryIntervalTime() default 1200;


    TimeUnit timeUnit() default TimeUnit.SECONDS;

    boolean enableTransaction() default true;

}
